Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Cloud service providers typically do not support conventional database management systems (DBMS); rather they provide a key-value store service that a user can access via Application Programming Interface (API) commands. The reason for this approach is because DBMSs are not easily scaled and do not cope well with failures or network uncertainty—both keystone infrastructure assumptions for service oriented architectures (SOA). Once users translate their data to data centers, maintaining database performance after moving data between data centers involves replication of key-value stores including complex tree structure and data recurrences (duplication) that the original data center may have generated using long periods of operational observation. For replicating such structures at a destination data center, the division boundaries of storage for the user tables and where duplicate records are used may need to be known. This is information that is abstracted away from user access in data centers.
Key-value stores typically include hidden layers. User data tables may be split across many machines and have multiple levels of metadata trees above each table to find the location of each key-value. The key-value stores are commonly proprietary to each data center service provider and may be accessible to the users through API calls, where users can provide keys or matching terms and retrieve the values. The actual structure of the metadata tables or user data tables may not be visible to the user, although some details may need to be replicated at a destination data center if database performance is to be maintained.
In conventional systems, a user does not have access to the actual files in which the key-value store is physically stored. The key-value files are part of the data center service structure and if one wishes to move a customer to a new data center, it is unlikely that the current data center may dedicate technicians to the act of retrieving these deeply integrated data stores which are spread among machines in a proprietary fashion, contain optimizations developed by the current data center, and use proprietary file formats.